Embroidery machines are generally controlled by programs. Two primary program formats are utilized to control embroidery machines: (1) low-level stitch-by-stitch numerical control codes ("stitch data"); and (2) condensed, high-level, data. The information contained in stitch data typically comprises three main components: (i) a relative movement in the "x" (horizontal) direction in the plane of the work surface; (ii) a relative movement in the "y" (vertical) direction in the plane of the work surface; and (iii) control information, such as whether the machine should pause, stop, change thread color, penetrate a fabric, etc. Unfortunately, no uniform standard has been adopted by the embroidery industry for encoding and storing this information, rather, each manufacturer typically develops and utilizes its own unique encoding and storage system.
A separate program is required for each embroidery design. There are very few methods available which provide the ability to modify existing embroidery design programs. Methods that are available for modifying existing embroidery design programs are extremely limited. Prior methods for editing embroidery design programs have primarily been limited to increasing or decreasing the size of a pattern, varying stitch densities, changing the orientation of a design, producing a mirror image of a design, and varying fill, running, jump and satin stitch lengths.
Examples of such prior art systems for varying the parameters associated with a stitch pattern design in order to control stitching machinery, such as an embroidery machine or a sewing machine, are disclosed in Pongrass et al., U.S. Pat. No. 4,821,662 and Kinoshita et al., U.S. Pat. No. 4,720,795. These prior art methods, however, are limited in their editing capability and, for example, provide no means for converting straight line portions of a design pattern to smoothed curves, nor do they provide a means for converting a portion or all of the stitching in a design from one type of stitching, such as satin or tatami, to a different type of stitching. Furthermore, the methods currently available do not permit a user to convert an embroidery design program into an outline format which can be easily edited and manipulated.